/* 
 * File:   SyncCommand.h
 * Author: Bram
 *
 * Created on January 23, 2013, 2:42 AM
 */

#ifndef SYNCCOMMAND_H
#define	SYNCCOMMAND_H

#include "Command.h"

class SyncCommand : public Command
{
public:
    SyncCommand();
    SyncCommand(const char *);
    SyncCommand(const SyncCommand& orig);
    virtual ~SyncCommand();
    Command* createNew();
    bool isValid();
    
    void ExcecuteServerReceiveCommand(TcpSocket*, queue<Command *>& commandQueue);
    void ExcecuteServerSendCommand(TcpSocket*, queue<Command *>& commandQueue);
    
    void ExcecuteClientReceiveCommand(TcpSocket*, queue<Command *>& commandQueue);
    void ExcecuteClientSendCommand(TcpSocket*, queue<Command *>& commandQueue);
    
private:
    static SyncCommand cInstance;

};

#endif	/* SYNCCOMMAND_H */

